mixin ipArrayListDNS(container, field, title, expr, max)
  if (!max)
    - max = 25
  if (container[field+ "Ip"])
    dt
      b-dropdown.clickable-label(text=title, size="sm", variant="default")
        b-dropdown-item(@click="exportUnique('" + "ip." + expr  + "', 0)")
          | Export Unique #{title}
        b-dropdown-item(@click="exportUnique('" + "ip." + expr  + "', 1)")
          | Export Unique #{title} with counts
        b-dropdown-item(@click="openSpiGraph('" + "ip." + expr  + "')")
          | Open #{title} SPI Graph
        b-dropdown-divider
        b-dropdown-item(@click="exportUnique('" +   "country." + expr + "', 0)")
          | Export Unique #{title} Country
        b-dropdown-item(@click="exportUnique('" +  "country." + expr + "', 1)")
          | Export Unique #{title} Country with counts
        b-dropdown-item(@click="openSpiGraph('" + "country." + expr +"')")
          | Open #{title} Country SPI Graph
        b-dropdown-divider
        b-dropdown-item(@click="exportUnique('" + "asn." + expr + "', 0)")
          | Export Unique #{title} ASN
        b-dropdown-item(@click="exportUnique('" + "asn."+ expr + "', 1)")
          | Export Unique #{title} ASN with counts
        b-dropdown-item(@click="openSpiGraph('" + "asn." + expr + "')")
          | Open #{title} ASN SPI Graph
        b-dropdown-divider
        b-dropdown-item(@click="exportUnique('" + "rir." + expr + "', 0)")
          | Export Unique #{title} RIR
        b-dropdown-item(@click="exportUnique('" + "rir." + expr + "', 1)")
          | Export Unique #{title} RIR with counts
        b-dropdown-item(@click="openSpiGraph('" + "rir." + expr + "')")
          | Open #{title} RIR SPI Graph
    dd
      each ip,i in container[field + "Ip"]
        if (i == max)
          |<span style="display:none">
        +ipPrint(container, container[field + "Ip"][i], undefined, (container[field + "GEO"]?container[field + "GEO"][i]:null), (container[field+"ASN"]?container[field + "ASN"][i]:null), (container[field + "RIR"]?container[field + "RIR"][i]:null), expr)
      if (container[field + "Ip"].length > max)
        |</span>
        a.cursor-pointer.show-more-items &hellip

if (session.dns)
  div.sessionDetailMeta.bold DNS
  dl.sessionDetailMeta(suffix="dns")
    +ipArrayList(session.dns, "ip", "IPs", "dns")
    +arrayList(session.dns, 'host', "Hosts", "host.dns")
    +arrayList(session.dns, 'puny', "Puny", "dns.puny")
    +arrayList(session.dns, "nameserverHost","Name Servers","host.dns.nameserver")
    +ipArrayListDNS(session.dns, "nameserver","Name Server IPs","dns.nameserver")
    +arrayList(session.dns, "mailserverHost","Mail Servers","host.dns.mailserver")
    +ipArrayListDNS(session.dns, "mailserver","Mail Server IPs","dns.mailserver")
    +arrayList(session.dns, 'opcode', "Op Code", "dns.opcode")
    +arrayList(session.dns, 'status', "Status Code", "dns.status")
    +arrayList(session.dns, 'qt', "Query Type", "dns.query.type")
    +arrayList(session.dns, 'qc', "Query Class", "dns.query.class")
